4
תגובות

חיפוש באתר עם משתנים.

פתח Aviway ,
שלום לכולם,
אני מנסה לבנות תיבת חיפוש באתר. הבעיה היא שיש לי טבלה אחת בDB שכוללת בתוכה את כל הנתונים העיקריים. ועוד כמה טבלאות (שבתוכם יש רק מס' ID) שמקושרות לID של כל שורה בטבלה הראשית.
איך אני יכול לבצע חיפוש באתר שהוא יחפש גם בטבלאות האחרות מלבד הטבלה הראשית?

4 תשובות

avatar ענה אנונימי ב 24 לדצמבר 2011 #

SQL JOIN ..

avatar ענה intval ב 24 לדצמבר 2011 #

החיפוש מחפש בטלבאות שתרשום לו לחפש. מה שאילתת החיפוש שלך?

avatar ענה Aviway ב 24 לדצמבר 2011 #

SELECT * FROM table WHERE row1 LIKE '%".$obj."%' OR row2 LIKE '%".$obj."%' OR row3 LIKE '%".$obj."%' ORDER BY RAND()

זו השאילתא, כרגע היא בודקת רק בטבלה הראשית . אבל אני מעוניין שהיא תחפש בעוד כמה טבלאות

avatar ענה intval ב 24 לדצמבר 2011 #

תוכל לעשות join לטבלאות האחרות ולחפש גם בהם בצורה כזאת:

SELECT * FROM table
LEFT JOIN table2 ON table1.id = table2.id
LEFT JOIN table3 ON table1.id = table3.id

WHERE
  row1 LIKE '%".$obj."%' OR
  row2 LIKE '%".$obj."%' OR
  row3 LIKE '%".$obj."%' OR

  table2.field LIKE '%$obj%' OR
  table3.field LIKE '%$obj%' 

ORDER BY RAND()